﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ContaTelefone.Data
{
    public class CLIENTE_FORNECEDORRepository
    {
        ContaTelefoneEntities entity;
        
        public CLIENTE_FORNECEDORRepository()
        {
            entity = ContaTelefoneContext.getInstance();
        }

        public IQueryable<CLIENTE_FORNECEDOR> GetCLIENTE_FORNECEDORs()
        {
            return ContaTelefoneContext.getInstance().CLIENTE_FORNECEDOR;
        }

        public IList<CLIENTE_FORNECEDOR> GetAll()
        {
            return ContaTelefoneContext.getInstance().CLIENTE_FORNECEDOR.ToList();
        }

        public CLIENTE_FORNECEDOR getCLIENTE_FORNECEDOR(int ID)
        {
            return entity.CLIENTE_FORNECEDOR.SingleOrDefault(a => a.ID == ID);
        }

        public void Update()
        {
            try
            {
                entity.SaveChanges();
            }
            catch (Exception ex)
            {
                ContaTelefoneContext.removeInstance();
                throw ex;
            }
        }

        public void Add(CLIENTE_FORNECEDOR bCLIENTE_FORNECEDOR)
        {
            try
            {
                entity.AddToCLIENTE_FORNECEDOR(bCLIENTE_FORNECEDOR);
                entity.SaveChanges();
            }
            catch (Exception ex)
            {
                ContaTelefoneContext.removeInstance();
                throw ex;
            }
        }

        public void Delete(CLIENTE_FORNECEDOR pCLIENTE_FORNECEDOR)
        {
            entity.CLIENTE_FORNECEDOR.DeleteObject(pCLIENTE_FORNECEDOR);
            entity.SaveChanges();
        }
    }
}
